#!/usr/bin/env python
# -*- encoding: utf-8 -*-
import sys
# from wushi.packageA import moduleA; packagA包的__init__已经定义了__all__，所以此处可以用*导入！！
from wushi.packageA import *
from wushi.packageB import moduleB

'''
@Author  :   shumin
@Email   :   grantw@163.com
@Ide     :   vscode & conda
@File    :   main.py
@Time    :   2025/08/10 10:50:37
@Desc    :   这里演示了从ModuleA中调用同级包、子包、父包中模块的方法；
             python项目工程中可以分为包、模块2级进行管理； 
             包就是目录（下面建__init__.py文件）； 模块就是文件；）
             相对导入： 相对导入从__pacakge__开始搜索, 绝对导入从sys.path[0]开始搜索。
             注意：如果一个模块使用了相对导入，则其就不能直接运行自己的脚本或main函数了, 当前直接运脚本的__package__已经被设置为了none； 可以运行下moduleA查看。 所以此时需要在外部的脚本运行这个模块。！！
'''

if __name__ == '__main__':
    
    # print(sys.path)
    # print(f'__package__: {__package__}')
    print("=============================")
    moduleA.displayVariable()
    moduleA.showmessage()
    
    moduleA.runModuleB("This is a parameter")
    moduleA.runModuleC("This is a parameter")
    moduleA.runModuleE("This is a parameter")
    moduleA.runModuleD("This is a parameter")
    
    moduleB.showMessageV2("hell world")
    
    print(f'moduleA.__package__:{moduleA.__package__}')
    
    print(f'moduleA.variable:{moduleA.a}')
    print(f'moduleA.variable:{a}')